package com.esteel.settlement.pa.packet;

import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * 查时间段会员开销户信息
 */
@XmlRootElement(name = "Array")
@XmlAccessorType(XmlAccessType.FIELD)
public class Query1016Array extends ResultArray {

	private static final long serialVersionUID = -9096724726900623264L;

	// 银行前置流水号
	@XmlElement(name = "FrontLogNo")
	@Length(max = 14)
	@NotEmpty
	private String frontLogNo;

	// 交易状态 （1：开户 2：销户 3：待确认）
	@XmlElement(name = "UserStatus")
	private int userStatus;
	// 子账户
	@XmlElement(name = "CustAcctId")
	@Length(max = 32)
	@NotEmpty
	private String custAcctId;
	// 子账户性质 1：虚拟账号，2：实体账号
	@XmlElement(name = "CustFlag")
	private int custFlag;
	// 会员名称
	@XmlElement(name = "CustName")
	@Length(max = 120)
	@NotEmpty
	private String custName;
	// 交易网会员代码
	@XmlElement(name = "ThirdCustId")
	@Length(max = 32)
	@NotEmpty
	private String thirdCustId;
	// 维护日期 开户日期或修改日期
	@XmlElement(name = "TranDate")
	private Date tranDate;
	// 操作柜员号
	@XmlElement(name = "CounterId")
	@Length(max = 12)
	@NotEmpty
	private String counterId;

	public String getFrontLogNo() {
		return frontLogNo;
	}

	public int getUserStatus() {
		return userStatus;
	}

	public String getCustAcctId() {
		return custAcctId;
	}

	public int getCustFlag() {
		return custFlag;
	}

	public String getCustName() {
		return custName;
	}

	public String getThirdCustId() {
		return thirdCustId;
	}

	public Date getTranDate() {
		return tranDate;
	}

	public String getCounterId() {
		return counterId;
	}

	public void setFrontLogNo(String frontLogNo) {
		this.frontLogNo = frontLogNo;
	}

	public void setUserStatus(int userStatus) {
		this.userStatus = userStatus;
	}

	public void setCustAcctId(String custAcctId) {
		this.custAcctId = custAcctId;
	}

	public void setCustFlag(int custFlag) {
		this.custFlag = custFlag;
	}

	public void setCustName(String custName) {
		this.custName = custName;
	}

	public void setThirdCustId(String thirdCustId) {
		this.thirdCustId = thirdCustId;
	}

	public void setTranDate(Date tranDate) {
		this.tranDate = tranDate;
	}

	public void setCounterId(String counterId) {
		this.counterId = counterId;
	}

	@Override
	protected String[] order() {
		String[] objs = { "frontLogNo", "userStatus", "custAcctId", "custFlag", "custName", "thirdCustId", "tranDate", "counterId" };
		return objs;
	}

}
